package com.myframework.smhj.common.tool;

import com.myframework.smhj.hibernate.Paging;

public class PageLinkDefault extends PageLinkAbstract {
	
	PageLinkDefault() {

	}

	PageLinkDefault(Paging paging) {
		this.paging = paging;
	}

	@Override
	public String makeLink(Paging pi) {
		StringBuffer pageLink = new StringBuffer();
		if (pi.getNowPage() > 1) {
			pageLink.append("<a page='1' title='首页' href='javascript:void(0);'>首页</a> ");
			pageLink.append("<a page='" + (pi.getNowPage() - 1)
					+ "' title='上一页' href='javascript:void(0);'>上一页</a> ");

		}
		if (pi.getTotalPage() >= pi.getLinkCount()) {
			int pageNum = pi.getNowPage() - pi.getLinkCount() / 2;
			if (pageNum + pi.getLinkCount() > pi.getTotalPage()) {
				pageNum = pi.getTotalPage() - pi.getLinkCount() + 1;
			}
			if (pageNum > 1) {
				pageLink.append("<a page='1' href='javascript:void(0);'>1</a> ");
			}
			if (pageNum > 2) {
				pageLink.append("... ");
			}
			if (pageNum <= 0) {
				pageNum = 1;
			}
			for (int i = 1; i <= pi.getLinkCount(); i++) {

				if (pageNum <= pi.getTotalPage()) {
					if (pi.getNowPage() == pageNum) {
						pageLink.append("<a page='" + pageNum
								+ "' href='javascript:void(0);' class='cur'>"
								+ pageNum + "</a> ");
					} else {
						pageLink.append("<a page='" + pageNum
								+ "' href='javascript:void(0);'>" + pageNum
								+ "</a> ");
					}
				}
				pageNum++;
			}
			if (pageNum < pi.getTotalPage()) {
				pageLink.append("... <a page='" + pi.getTotalPage()
						+ "' href='javascript:void(0);'>" + pi.getTotalPage()
						+ "</a> ");
			} else if (pageNum == pi.getTotalPage()) {
				pageLink.append("<a page='" + pi.getTotalPage()
						+ "' href='javascript:void(0);'>" + pi.getTotalPage()
						+ "</a> ");
			}
		} else {
			for (int i = 1; i <= pi.getTotalPage(); i++) {
				if (pi.getNowPage() <= pi.getTotalPage()) {
					if (pi.getNowPage() == i) {
						pageLink.append("<a page='" + i
								+ "' href='javascript:void(0);' class='cur'>"
								+ i + "</a>");
					} else {
						pageLink.append("<a page='" + i
								+ "' href='javascript:void(0);'>" + i + "</a> ");
					}
				}
			}
		}
		if (pi.getNowPage() < pi.getTotalPage()) {
			pageLink.append("<a page='" + (pi.getNowPage() + 1)
					+ "' title='下一页' href='javascript:void(0);' >下一页</a>");
		}
		// pageLink.append("<span style='padding-left:20px;'>共"+pi.getTotalPage()+"页/"+pi.getTotalResult()+"条记录</span>");
		return pageLink.toString();
	}
}
